<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>Bomb Lab Release Notes</title>
  </head>

  <body bgcolor=white>
    <h1>Bomb Lab Release Notes</h1>

<table width=700><tr><td>

<h2>3/26/2013</h2>
<ul>
<li> Fixed a bug that caused <kbd>makebomb.pl</kbd> to fail when
building 32-bit bombs on 64-bit systems. <i>Thanks to Prof. Hugh
Lauer, Worcester Polytechnic Institute.</i>
</ul>

<h2>3/26/2013</h2>
<ul>
<li> Fixed a bug due to <kbd>hostname</kbd> on some systems not
returning a fully qualified domain name. <i>Thanks to Prof. Hugh Lauer
and Taymon Beal, Worcester Polytechnic Institute.</i>

<li> Minor updates to the top-level README file.
</ul>

<h2>5/17/2012</h2>
<ul>
<li> Added a per-semester identifier, called <kbd>$LABID</kbd>, to
the <kbd>Bomblab.pm</kbd> config file. Instructors can change this
variable each term so that the results generated by any bombs from
previous offerings of the lab are ignored. <i>Thanks to Prof. Godmar
Back, Virginia Tech.</i>
</ul>

<h2>8/22/2011</h2>
<ul>
<li> Fixed a bug in <kbd>bomblab-update.pl</kbd> that could have
filled up the filesystem with log messages if the <kbd>rename</kbd>
operation failed. <i>Thanks to Prof. Godmar Back, Virginia Tech.</i> 

<li>Modified the "start" rule in Makefile to touch the log.txt file
before starting up the lab daemons, so that an empty scoreboard is
created initially. <i>Thanks to Prof. Godmar Back, Virginia Tech.</i>

</ul>

<h2>1/2/2011</h2>
<b>This is a major update of the Bomb Lab:</b>
<ul>
<li> Introduced a new stand-alone, user-level HTTP-based autograding 
service that hands out custom bombs on demand, tracks 
bomb explosions and diffusings in real-time on a
scoreboard, and serves the scoreboard to browsers.

<li> Developed new and updated bomb phases.

<li> In <kbd>makebomb.pl</kbd>, replaced "the cp $srcdir/{f1,f2}
target" notation, which some shells don't handle, with the more
portable "cp $srcdir/f1 $srcdir/f2 target" form.

<li> Made some minor updates to the top-level README file. 

</ul>

<h2>3/12/2003</h2>
<ul>
<li> Rewrote the bomb request daemon, <kbd>bomb-requestd.pl</kbd> to
be more robust and easier for the students to use. The new daemon is
based on HTTP, and is extremely simple:

<ul>

<li> Students request a bomb by pointing their Web browser at the host
and port number of the request daemon, and then filling out a form with
their team member information.

<li> The request daemon builds a bomb, packs it up in a tar file, and
returns it to the student's Web browser.
</ul>

<p>
This new version has significant advantages over the previous email
based version:
<ul>
<li> Students receive their bombs immediately.

<li> Students no longer need to use <kbd>uudecode</kbd> to save their
bombs.

<li> Some email clients apply unexpected encodings to Subject lines
that caused the old daemon to miss some requests. This is no longer an
issue in the new daemon. 
<i>Thanks to Prof. Umberto Villano, Universita' del Sannio</i>.

<li> The old daemon maintained hard state in the form of disk file
containing the number of requests in the spool file that it had
responded to.  If this file were removed or reset, the daemon would
send new bombs to everyone who had previously requested a bomb, and
worse, erase its record of the old bombs. This can no longer happen
with the new request daemon.
<i>Thanks to Prof. Al Davis, Univ of Utah</i>.
</ul>

<p>
<li> Made a minor change to the <kbd>makebomb.pl</kbd> script so that
it now includes a <kbd>README</kbd> file in each bomb<k> directory
identifying the bomb number and the bomb owners.

<p>
<li> Changed <kbd>initbomblab.pl</kbd> so that it will NOT delete an
existing "bombs" directory.

<p>
<li> Updated the writeup to reflect the new procedure for
students to request bombs.

<p>
<li> The overall way an instructor runs the lab has NOT changed.
As before, "make init" intializes the lab, "make start" starts
the reporting and request daemons, and "make stop" kills them.
</ul>

<h2>9/30/2002</h2>
<ul>
<li> The reporting daemon is now more robust when it encounters 
bogus notification messages in the spool file.
</ul>

<h2>6/3/2002</h2>
<ul>
<li> Initial release.
</ul>

</td></tr></table>
  </body>
</html>
